Skip to content

Conversation

jswrenn
Copy link
Member

@jswrenn jswrenn commented Jun 4, 2025

Previously, rustc_transmute's layout representations were genericized over R, a reference. Now, it's instead genericized over representations of type and region. This allows us to move reference transmutability logic from rustc_trait_selection to rustc_transmutability (and thus unit test it independently of the compiler), and — in a follow-up PR — will make it possible to support analyzing function pointer transmutability with minimal surgery.

r? @compiler-errors

@rustbot rustbot added the T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. label Jun 4, 2025
@rust-log-analyzer

This comment has been minimized.

@bors
Copy link
Collaborator

bors commented Jun 6, 2025

☔ The latest upstream changes (presumably #142099) made this pull request unmergeable. Please resolve the merge conflicts.

@bors bors added the S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. label Jun 6, 2025
@jswrenn jswrenn force-pushed the transmute-ty-region-generic branch from e059b8b to 4f959a7 Compare June 9, 2025 13:35
Previously, `rustc_transmute`'s layout representations were genericized
over `R`, a reference. Now, it's instead genericized over
representations of type and region. This allows us to move reference
transmutability logic from `rustc_trait_selection` to
`rustc_transmutability` (and thus unit test it independently of the
compiler), and — in a follow-up PR — will make it possible to support
analyzing function pointer transmutability with minimal surgery.
@jswrenn jswrenn force-pushed the transmute-ty-region-generic branch from 4f959a7 to e9eae28 Compare June 9, 2025 14:08
@jswrenn jswrenn marked this pull request as ready for review June 9, 2025 14:16
@rustbot rustbot added the S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. label Jun 9, 2025
Copy link
Member

@compiler-errors compiler-errors left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nice

@compiler-errors
Copy link
Member

@bors r+ rollup

@bors
Copy link
Collaborator

bors commented Jun 11, 2025

📌 Commit e9eae28 has been approved by compiler-errors

It is now in the queue for this repository.

@bors bors added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. labels Jun 11, 2025
bors added a commit that referenced this pull request Jun 12, 2025
Rollup of 10 pull requests

Successful merges:

 - #141307 (Add method to retrieve body of closure in stable-mir)
 - #142040 (transmutability: shift abstraction boundary)
 - #142066 (More simple 2015 edition test decoupling)
 - #142157 (rustc_resolve: Improve `resolve_const_param_in_non_trivial_anon_const` wording)
 - #142217 (`tests/ui`: A New Order [10/N])
 - #142219 (`tests/ui`: A New Order [11/N])
 - #142261 (use correct edition when warning for unsafe attributes)
 - #142303 (Assorted bootstrap cleanups (step 1))
 - #142318 (Cleanup `rust-src` remapping and real dir)
 - #142352 (compiler: Make `c_int_width` an integer)

r? `@ghost`
`@rustbot` modify labels: rollup
@bors bors merged commit bdf7b74 into rust-lang:master Jun 12, 2025
10 checks passed
@rustbot rustbot added this to the 1.89.0 milestone Jun 12, 2025
rust-timer added a commit that referenced this pull request Jun 12, 2025
Rollup merge of #142040 - jswrenn:transmute-ty-region-generic, r=compiler-errors

transmutability: shift abstraction boundary

Previously, `rustc_transmute`'s layout representations were genericized over `R`, a reference. Now, it's instead genericized over representations of type and region. This allows us to move reference transmutability logic from `rustc_trait_selection` to `rustc_transmutability` (and thus unit test it independently of the compiler), and — in a follow-up PR — will make it possible to support analyzing function pointer transmutability with minimal surgery.

r? `@compiler-errors`
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants